package com.lh.sms

import com.lh.sms.conf.SmsProperties
import com.lh.sms.utils.SmsUtils
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.CommandLineRunner
import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.boot.runApplication

/**
 * 因为系统中不止注册一个地方需要短信发送，因此我们将短信发送抽取为微服务：`leyi-sms-service`，凡是需要的地方都可以使用。
 *
 * 因为短信发送API调用时长的不确定性，为了提高程序的响应速度，短信发送最好采用异步发送方式。
 * 方案一：提供RESTful接口，调用方按需调用；
 * 方案二：通过MQ消息（本项目使用此方案）：
（1）短信服务监听MQ消息，收到消息后发送短信。
（2）其它服务要发送短信时，通过MQ通知短信微服务。
 * @author liuhe
 * @date 2020/07/02
 */
@SpringBootApplication
@EnableConfigurationProperties(SmsProperties::class)
open class LeyiSmsApp

fun main(args: Array<String>) {
    runApplication<LeyiSmsApp>(*args)
}
